package com.ktgj.service.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 合同商务条款			
对象 contract_terms
 * 
 * @author ruoyi
 * @date 2021-09-03
 */
public class ContractTerms extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long contractTermsId;

    /** 合同Id */
    @Excel(name = "合同Id")
    private Long contractId;

    /** 1 预付费 2 后付费 */
    @Excel(name = "1 预付费 2 后付费")
    private String settlementMethod;

    /** 结算周期：10，日结；20，周结；30，月结；35 季；40，半年结；50，年结； */
    @Excel(name = "结算周期：10，日结；20，周结；30，月结；35 季；40，半年结；50，年结；")
    private String settlementCycle;

    /** 1 协议散价 2协议固定单价 */
    @Excel(name = "1 协议散价 2协议固定单价")
    private String itemPriceType;

    /** 协议价格类型为固定价时 的固定价 */
    @Excel(name = "协议价格类型为固定价时 的固定价")
    private BigDecimal fixedUnitPrice;

    /** 授信类别 1 销售额 2 销售量 */
    @Excel(name = "授信类别 1 销售额 2 销售量")
    private String creditCategory;

    /** 授信额度或量 */
    @Excel(name = "授信额度或量")
    private Long lineofCredit;

    /** 预存款金额 */
    @Excel(name = "预存款金额")
    private BigDecimal prepaidAmount;

    /** 预存款是否可退 */
    @Excel(name = "预存款是否可退")
    private String canBack;

    /** 预存款确认人 */
    @Excel(name = "预存款确认人")
    private String prepaidConfirmedby;

    /** 预存款收款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预存款收款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date prepaidCollectionTime;

    /** 预存款充值金额 */
    @Excel(name = "预存款充值金额")
    private BigDecimal prepaidRechargeAmount;

    /** 预存款使用金额 */
    @Excel(name = "预存款使用金额")
    private BigDecimal prepaidUsedAmount;

    /** 保证金额 */
    @Excel(name = "保证金额")
    private BigDecimal bondAmount;

    /** 保证金确认人 */
    @Excel(name = "保证金确认人")
    private String bondConfirmedby;

    /** 保证金收款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保证金收款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bondCollectionTime;

    /** 操作人 */
    @Excel(name = "操作人")
    private Long opemployeeId;

    public void setContractTermsId(Long contractTermsId) 
    {
        this.contractTermsId = contractTermsId;
    }

    public Long getContractTermsId() 
    {
        return contractTermsId;
    }
    public void setContractId(Long contractId) 
    {
        this.contractId = contractId;
    }

    public Long getContractId() 
    {
        return contractId;
    }
    public void setSettlementMethod(String settlementMethod) 
    {
        this.settlementMethod = settlementMethod;
    }

    public String getSettlementMethod() 
    {
        return settlementMethod;
    }
    public void setSettlementCycle(String settlementCycle) 
    {
        this.settlementCycle = settlementCycle;
    }

    public String getSettlementCycle() 
    {
        return settlementCycle;
    }
    public void setItemPriceType(String itemPriceType) 
    {
        this.itemPriceType = itemPriceType;
    }

    public String getItemPriceType() 
    {
        return itemPriceType;
    }
    public void setFixedUnitPrice(BigDecimal fixedUnitPrice) 
    {
        this.fixedUnitPrice = fixedUnitPrice;
    }

    public BigDecimal getFixedUnitPrice() 
    {
        return fixedUnitPrice;
    }
    public void setCreditCategory(String creditCategory) 
    {
        this.creditCategory = creditCategory;
    }

    public String getCreditCategory() 
    {
        return creditCategory;
    }
    public void setLineofCredit(Long lineofCredit) 
    {
        this.lineofCredit = lineofCredit;
    }

    public Long getLineofCredit() 
    {
        return lineofCredit;
    }
    public void setPrepaidAmount(BigDecimal prepaidAmount) 
    {
        this.prepaidAmount = prepaidAmount;
    }

    public BigDecimal getPrepaidAmount() 
    {
        return prepaidAmount;
    }
    public void setCanBack(String canBack) 
    {
        this.canBack = canBack;
    }

    public String getCanBack() 
    {
        return canBack;
    }
    public void setPrepaidConfirmedby(String prepaidConfirmedby) 
    {
        this.prepaidConfirmedby = prepaidConfirmedby;
    }

    public String getPrepaidConfirmedby() 
    {
        return prepaidConfirmedby;
    }
    public void setPrepaidCollectionTime(Date prepaidCollectionTime) 
    {
        this.prepaidCollectionTime = prepaidCollectionTime;
    }

    public Date getPrepaidCollectionTime() 
    {
        return prepaidCollectionTime;
    }
    public void setPrepaidRechargeAmount(BigDecimal prepaidRechargeAmount) 
    {
        this.prepaidRechargeAmount = prepaidRechargeAmount;
    }

    public BigDecimal getPrepaidRechargeAmount() 
    {
        return prepaidRechargeAmount;
    }
    public void setPrepaidUsedAmount(BigDecimal prepaidUsedAmount) 
    {
        this.prepaidUsedAmount = prepaidUsedAmount;
    }

    public BigDecimal getPrepaidUsedAmount() 
    {
        return prepaidUsedAmount;
    }
    public void setBondAmount(BigDecimal bondAmount) 
    {
        this.bondAmount = bondAmount;
    }

    public BigDecimal getBondAmount() 
    {
        return bondAmount;
    }
    public void setBondConfirmedby(String bondConfirmedby) 
    {
        this.bondConfirmedby = bondConfirmedby;
    }

    public String getBondConfirmedby() 
    {
        return bondConfirmedby;
    }
    public void setBondCollectionTime(Date bondCollectionTime) 
    {
        this.bondCollectionTime = bondCollectionTime;
    }

    public Date getBondCollectionTime() 
    {
        return bondCollectionTime;
    }
    public void setOpemployeeId(Long opemployeeId) 
    {
        this.opemployeeId = opemployeeId;
    }

    public Long getOpemployeeId() 
    {
        return opemployeeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("contractTermsId", getContractTermsId())
            .append("contractId", getContractId())
            .append("settlementMethod", getSettlementMethod())
            .append("settlementCycle", getSettlementCycle())
            .append("itemPriceType", getItemPriceType())
            .append("fixedUnitPrice", getFixedUnitPrice())
            .append("creditCategory", getCreditCategory())
            .append("lineofCredit", getLineofCredit())
            .append("prepaidAmount", getPrepaidAmount())
            .append("canBack", getCanBack())
            .append("prepaidConfirmedby", getPrepaidConfirmedby())
            .append("prepaidCollectionTime", getPrepaidCollectionTime())
            .append("prepaidRechargeAmount", getPrepaidRechargeAmount())
            .append("prepaidUsedAmount", getPrepaidUsedAmount())
            .append("bondAmount", getBondAmount())
            .append("bondConfirmedby", getBondConfirmedby())
            .append("bondCollectionTime", getBondCollectionTime())
            .append("opemployeeId", getOpemployeeId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
